In communications, a transmitter uses a particular modulation format to map bits of data to symbols, which it then transmits as a signal over a communications channel to a receiver. The receiver applies an inverse process of demodulation to the received signal to produce estimates of the symbols, the data bits, or both. During its transmission over the channel, the signal may experience noise and/or distortion. Noise and/or distortion may also be contributed to the signal by components of the transmitter and/or receiver. The noise and/or distortion experienced by the signal may lead to errors in the symbols or bits recovered at the receiver. Such errors may be corrected using Forward Error Correction (FEC) techniques. A FEC scheme comprises a process of FEC encoding performed at the transmitter, and an inverse process of FEC decoding performed at the receiver. The FEC encoding maps input information bits to FEC-encoded bits, which include redundant information, such as parity or check symbols. The FEC decoding subsequently uses the redundant information to detect and correct bit errors. In an optical communication network using FEC, the bits of data that undergo modulation at the transmitter have already been FEC-encoded. Similarly, the demodulation performed at the receiver is followed by FEC decoding.
FEC is advantageous in that it may permit error control without the need to resend data packets. However, this is at the cost of increased overhead. The amount of overhead or redundancy added by a FEC encoder may be characterized by the information rate R, where R is defined as the ratio of the amount of input information to the amount of data that is output after FEC encoding (which includes the overhead). For example, if FEC encoding adds 25% overhead, then for every four information bits that are to be FEC-encoded, the FEC encoding will add 1 bit of overhead, resulting in 5 FEC-encoded data bits to be transmitted to the receiver. This corresponds to an information rate R=4/5=0.8.
The reliability of a communications channel may be characterised by the Bit Error Ratio or Bit Error Rate (BER), which measures the ratio of erroneously received bits (or symbols) to the total number of bits (or symbols) that are transmitted over the communications channel. In some circumstances, the choice of modulation format may cause different subsets of bits to have different BERs. Expressed another way, one subset of bits may experience a different quality of channel than another subset of bits, depending on the manner in which the modulation format maps the bits to different symbols. For example, in the case of 4-PAM modulation with Gray labeling, the signal at a given point in time is expected to indicate one of four possible symbols or points on one axis: “00” “01” “11” “10”. Each symbol represents two bits, where the rightmost bit is the least significant bit (LSB) and the leftmost bit is the most significant bit (MSB). Applying the demodulation to the signal will result in one of those four symbols, from which the two bits represented by that symbol may be recovered. Gray labeling ensures that adjacent symbols differ by only one bit. It should be apparent that the likelihood of a bit error (i.e., the BER) is inherently different for the MSB than it is for the LSB. That is, assuming a moderate noise level, there is only one scenario in which the MSB might be decoded incorrectly: if the demodulation incorrectly resulted in the “01” symbol instead of the “11” symbol (or vice versa). On the other hand, there are two scenarios in which the LSB might be decoded incorrectly: (1) if the demodulation incorrectly resulted in the “00” symbol instead of the “01” symbol (or vice versa); or (2) if the demodulation incorrectly resulted in the “11” symbol instead of the “10” symbol (or vice versa). It follows that the BER of the LSB is twice the BER of the MSB. This is an example of a modulation format that inherently produces bits having different BERs.
A variety of techniques for FEC encoding and decoding are known. The combination of a FEC encoding technique and the corresponding FEC decoding technique are herein referred to as a “FEC scheme.” Stronger FEC schemes provide better protection (i.e., better error detection and correction) by adding more redundancy. However, this is at the expense of a lower information rate R. Circuitry to implement stronger FEC schemes may also take up more space, may be more costly, and may produce more heat than circuitry to implement weaker (i.e., higher-rate) FEC schemes. The choice of FEC schemes that are used for particular applications may be dictated by the specific requirements of those applications and by the quantities and classes or types of FEC schemes that are available.
In “Multilevel codes: theoretical concepts and practical design rules” (IEEE Transactions on Information Theory, Vol. 45, Issue 5, July 1999), Wachsmann et al. describe techniques for multilevel coding and multistage decoding. Multilevel coding attempts to exploit differences in BERs between bits. Decoded bits having different BERs may be sent to different classes of FEC schemes, where each class of FEC scheme is optimized for a particular BER or confidence value distribution, where the confidence value represents the confidence in the estimated value for a bit. An example of a confidence value is a log likelihood ratio. As an example, with layered encoding in a single real dimension, the points of a PAM constellation are labeled such that the information bits are grouped into L different binary layers in ascending order of capacities. The early layers with lower capacities are protected with stronger FEC schemes while the layers with higher capacities are protected with a higher-rate FEC scheme.
Chain decoding differs from multilevel coding in that it attempts to exploit a dependency between bits. U.S. Pat. No. 9,088,387 describes a technique for chain decoding, in which a sequence of tranches is decoded, and each tranche is sent through a FEC decoder before using the error-free bits outputted by the FEC decoder to assist in the next tranche of decoding. The use of the error-free bits can significantly improve the BERs of the later bits. Rather than designing multiple classes of FEC schemes for different bits, as is done in multilevel coding, an advantageous version of chain decoding sends all of the bits through the same FEC scheme, but in a successive manner so that previously decoded bits may be used in the decoding of subsequent bits.
In “Bit-interleaved coded modulation” (IEEE Transactions on Information Theory, Vol. 44, Issue 3, May 1998), Caire et al. describe a FEC technique whereby multiple bits are decoded from each symbol, and those bits are treated as independent bits in the FEC scheme, rather than being treated symbol by symbol. Bit-interleaved coded modulation may use Gray coding in order to reduce the average number of bit errors caused by a symbol error. With Gray coding, nearest neighbour symbols differ by one bit, and so almost all symbol errors cause a single bit error. The number of bits that differ between two symbols is defined as the “Hamming distance” between those symbols.
U.S. Pat. No. 9,537,608 describes a FEC technique referred to as staggered parity, in which parity vectors are computed such that each parity vector spans a set of frames; a subset of bits of each frame is associated with parity bits in each parity vector; and a location of parity bits associated with one frame in one parity vector is different from that of parity bits associated with the frame in another parity vector.
In “Staircase Codes with 6% to 33% Overhead” (Journal of Lightwave Technology, Vol. 32, Issue 10, May 2014), Zhang and Kschischang describe an example of a high-rate FEC scheme.
In “Recent Progress in Forward Error Correction for Optical Communication Systems” (IEICE transactions on communications, Vol. 88, No 5, 2005), Mizuochi reviews the history of FEC in optical communications, including types of FEC based on concatenated codes.